{
GtkPopoverPrivate *priv = popover->priv;
+ if (!priv->window)
+ return;
+
if (modal)
{
GtkWidget *prev_focus;
P_("Position"),
P_("Position to place the bubble window"),
GTK_TYPE_POSITION_TYPE, GTK_POS_TOP,
- GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+ GTK_PARAM_READWRITE|G_PARAM_CONSTRUCT|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkPopover:modal
P_("Modal"),
P_("Whether the popover is modal"),
TRUE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
signals[CLOSED] =
g_signal_new (I_("closed"),
gtk_popover_update_preferred_position (GtkPopover *popover,
GtkPositionType position)
{
- popover->priv->preferred_position = position;
- g_object_notify (G_OBJECT (popover), "position");
+ if (popover->priv->preferred_position != position)
+ {
+ popover->priv->preferred_position = position;
+ g_object_notify (G_OBJECT (popover), "position");
+ }
}
/**